﻿namespace com.binance.client.constant
{
	//using ToStringStyle = org.apache.commons.lang3.builder.ToStringStyle;

	/// <summary>
	/// Constants used throughout Binance's API.
	/// </summary>
	public class BinanceApiConstants
	{

		/// <summary>
		/// REST API base URL.
		/// </summary>
		public const string API_BASE_URL = "https://fapi.binance.com";

		/// <summary>
		/// Streaming API base URL.
		/// </summary>
		public const string WS_API_BASE_URL = "wss://fstream.binance.com/ws";

		/// <summary>
		/// HTTP Header to be used for API-KEY authentication.
		/// </summary>
		public const string API_KEY_HEADER = "X-MBX-APIKEY";

		/// <summary>
		/// Decorator to indicate that an endpoint requires an API key.
		/// </summary>
		public const string ENDPOINT_SECURITY_TYPE_APIKEY = "APIKEY";
		public static readonly string ENDPOINT_SECURITY_TYPE_APIKEY_HEADER = ENDPOINT_SECURITY_TYPE_APIKEY + ": #";

		/// <summary>
		/// Decorator to indicate that an endpoint requires a signature.
		/// </summary>
		public const string ENDPOINT_SECURITY_TYPE_SIGNED = "SIGNED";
		public static readonly string ENDPOINT_SECURITY_TYPE_SIGNED_HEADER = ENDPOINT_SECURITY_TYPE_SIGNED + ": #";

		/// <summary>
		/// Default receiving window.
		/// </summary>
		public const long DEFAULT_RECEIVING_WINDOW = 60_000L;

        /// <summary>
        /// Default ToStringStyle used by toString methods. Override this to change the
        /// output format of the overridden toString methods. - Example
        /// ToStringStyle.JSON_STYLE
        /// </summary>
        public static int TO_STRING_BUILDER_STYLE = 1024; //"SHORT_PREFIX_STYLE";
	}

}